---
# Copyright 2017, Rackspace US, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

- job:
    name: openstack-ansible-deploy-aio
    parent: base
    description: |
      Run functional tests for an OpenStack-Ansible project.
      Uses the gate-check-commit.sh script, running a default
      aio deploy.
    run: zuul.d/playbooks/run.yml
    post-run: zuul.d/playbooks/post.yml
    timeout: 7200
    irrelevant-files:
      - ^\.git.*
      - ^.*\.(example|md|rst)$
      - ^deploy-guide/.*
      - ^doc/.*
      - ^releasenotes/.*
      - ^setup\.(cfg|py)$
      - ^tox.ini$
      - ^Vagrantfile
    vars:
      action: deploy
      scenario: aio_lxc

# Ensuring overrides work
- job:
    name: openstack-ansible-varstest-aio_lxc-ubuntu-xenial
    parent: openstack-ansible-deploy-aio_lxc-ubuntu-xenial
    vars:
      action: varstest

# Experimental job for checking our AIO can deploy with
# a different ansible version
- job:
    name: openstack-ansible-deploy_with_ansible_devel-aio-ubuntu-xenial
    parent: openstack-ansible-deploy-aio-ubuntu-xenial
    branches: ^(devel|master)$
    required-projects:
      - name: github.com/ansible/ansible
        override-checkout: devel
    vars:
      ansible_package: "file://{{ ansible_user_dir }}/src/github.com/ansible/ansible"

# ubuntu
- job:
    name: openstack-ansible-deploy-aio_lxc-ubuntu-xenial
    parent: openstack-ansible-deploy-aio
    nodeset: ubuntu-xenial

- job:
    name: openstack-ansible-deploy-ceph-ubuntu-xenial
    parent: openstack-ansible-deploy-aio_lxc-ubuntu-xenial
    vars:
      action: deploy
      scenario: ceph
- job:
    name: openstack-ansible-deploy-aio_metal-ubuntu-xenial
    parent: openstack-ansible-deploy-aio-ubuntu-xenial
    voting: false
    vars:
      action: deploy
      scenario: aio_metal

- job:
    name: openstack-ansible-upgrade-aio_lxc-ubuntu-xenial
    parent: openstack-ansible-deploy-aio_lxc-ubuntu-xenial
    timeout: 10800
    vars:
      action: upgrade
      scenario: aio_lxc

- job:
    name: openstack-ansible-deploy-aio_nspawn-ubuntu-xenial
    parent: openstack-ansible-deploy-aio_lxc-ubuntu-xenial
    voting: false
    vars:
      scenario: aio_nspawn

- job:
    name: openstack-ansible-upgrade-ceph-ubuntu-xenial
    parent: openstack-ansible-deploy-aio_lxc-ubuntu-xenial
    timeout: 10800
    vars:
      action: upgrade
      scenario: ceph

- job:
    name: openstack-ansible-deploy-octavia-ubuntu-xenial
    parent: openstack-ansible-deploy-aio_lxc-ubuntu-xenial
    vars:
      action: deploy
      scenario: octavia

- job:
    name: openstack-ansible-deploy-translations-ubuntu-xenial
    parent: openstack-ansible-deploy-aio_lxc-ubuntu-xenial
    vars:
      action: deploy
      scenario: translations

- job:
    name: openstack-ansible-deploy-congress-ubuntu-xenial
    parent: openstack-ansible-deploy-aio_lxc-ubuntu-xenial
    voting: false
    vars:
      action: deploy
      scenario: congress

# centos
- job:
    name: openstack-ansible-deploy-aio_lxc-centos-7
    parent: openstack-ansible-deploy-aio
    nodeset: centos-7
    voting: false

- job:
    name: openstack-ansible-deploy-aio_basekit-centos-7
    parent: openstack-ansible-deploy-aio_lxc-centos-7
    vars:
      action: deploy
      scenario: aio_basekit

- job:
    name: openstack-ansible-deploy-ceph-centos-7
    parent: openstack-ansible-deploy-aio_lxc-centos-7
    vars:
      action: deploy
      scenario: ceph

- job:
    name: openstack-ansible-upgrade-aio_lxc-centos-7
    parent: openstack-ansible-deploy-aio_lxc-centos-7
    timeout: 10800
    vars:
      action: upgrade
      scenario: aio_lxc

- job:
    name: openstack-ansible-deploy-aio_nspawn-centos-7
    parent: openstack-ansible-deploy-aio_lxc-centos-7
    vars:
      scenario: aio_nspawn

- job:
    name: openstack-ansible-upgrade-ceph-centos-7
    parent: openstack-ansible-deploy-aio_lxc-centos-7
    timeout: 10800
    vars:
      action: upgrade
      scenario: ceph

# opensuse
- job:
    name: openstack-ansible-deploy-aio_lxc-opensuse-423
    parent: openstack-ansible-deploy-aio
    nodeset: opensuse-423
    voting: false

- job:
    name: openstack-ansible-deploy-aio_basekit-opensuse-423
    parent: openstack-ansible-deploy-aio_lxc-opensuse-423
    voting: true
    vars:
      action: deploy
      scenario: aio_basekit

- job:
    name: openstack-ansible-deploy-ceph-opensuse-423
    parent: openstack-ansible-deploy-aio_lxc-opensuse-423
    vars:
      action: deploy
      scenario: ceph

- job:
    name: openstack-ansible-upgrade-aio_lxc-opensuse-423
    parent: openstack-ansible-deploy-aio_lxc-opensuse-423
    timeout: 10800
    vars:
      action: upgrade
      scenario: aio_lxc

- job:
    name: openstack-ansible-deploy-aio_nspawn-opensuse-423
    parent: openstack-ansible-deploy-aio_lxc-opensuse-423
    vars:
      scenario: aio_nspawn
